[t:/]$ 지식_

레지스터 풀로 써서 펑펑 날리는 함수.

2009/02/08

예전부터 쓰던 것 복원 해 둠.

원래 arm9 계통 삼성세미에서 지원하는 기본 소스안에 있는 프로시저임. 조금만 응용하면 다양한 곳에 사용 가능..

원래는 NAND에서 512바이트씩 고속으로 읽어오는 함수임.

        MACRO
        LDR4STR1 $src,$tmp1,$tmp2        
        ldrb        $tmp1,[$src]
        ldrb        $tmp2,[$src]
        orr        $tmp1,$tmp1,$tmp2,LSL #8
        ldrb        $tmp2,[$src]
        orr        $tmp1,$tmp1,$tmp2,LSL #16
        ldrb        $tmp2,[$src]
        orr        $tmp1,$tmp1,$tmp2,LSL #24
        MEND
        EXPORT        __RdPage512
__RdPage512
        ;input:a1(r0)=pPage
        stmfd        sp!,{r1-r11}
        ldr        r1,=0x4e00000c  ;NFDATA
        mov        r2,#0x200

0        
        LDR4STR1 r1,r4,r3
        LDR4STR1 r1,r5,r3
        LDR4STR1 r1,r6,r3
        LDR4STR1 r1,r7,r3
        LDR4STR1 r1,r8,r3
        LDR4STR1 r1,r9,r3
        LDR4STR1 r1,r10,r3
        LDR4STR1 r1,r11,r3
        stmia        r0!,{r4-r11}
        subs        r2,r2,#32
        bne        %B0
        ldmfd        sp!,{r1-r11}
        mov        pc,lr




공유하기













[t:/] is not "technology - root". dawnsea, rss